﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Luna.Framework {

	public interface IViewManager {
		IList<IView> Views { get; }

		IView getView(string viewName);

		void showView(IView view);

		void showView(IView view, IViewLayoutData layoutData);

		DialogResult showForm(Form form, bool modalDialog);
	}

	public interface IView {
		string Name { get; set; }
		bool IsShown { get; }
		Control getViewControl(IAppContext context, Control parent);
	}

	public interface  IViewLayoutData {

		IView SiblingView { get; set; }
		int State { get; set; }
		float WidthPortion { get; set; }
		float HeightPortion { get; set; }
		object Data { get; set; }
	}

	public interface IViewControl {
		IViewManager ViewManager { get; set; }
		IViewLayoutData getViewLayout();
		void initiliaze(IViewLayoutData layout);
	}
}
